package com.zw.a.basic.a08.demo04_exercise;

//但凡是写到这个包下的类, 都是你今天晚上要敲的代码, 每个至少3遍.

import java.util.Scanner;

//案例: 模拟用户登录, Scanner, String, if.else <=> 三元, for循环
public class Demo01 {
    public static void main(String[] args) {
        /*
            需求:
                1.模拟用户登录, 只给3次机会, 登录成功则提示"欢迎您, ***".
                2.登录失败则判断是否还有登录机会, 有则提示剩余登录次数, 没有则提示"您的账号已被锁定".
                3.假设初始化账号和密码分别为: "传智播客", "黑马程序员".
         */
        //1. 创建键盘录入对象.
        Scanner sc = new Scanner(System.in);
        //2. 设定初始账号和密码.
        String username = "传智播客";
        String password = "黑马程序员";

        //3. 因为只给3次机会, 所以用for循环.
        for (int i = 0; i < 3; i++) {
            //4. 提示用户录入账号和密码, 并接收.
            System.out.println("请录入您的账号: ");
            String uname = sc.nextLine();
            System.out.println("请录入您的密码: ");
            String pw = sc.nextLine();

            //5. 判断用户录入的账号和密码是否正确.
            //5.1 如果正确, 提示登录成功, 然后循环结束.
            if (username.equals(uname) && password.equals(pw)) {
                //System.out.println("登陆成功!");
                System.out.println("欢迎您, " + uname);
                break;      //细节.
            } else {
                //5.2 如果错误, 判断是否还有登陆机会.
                //5.2.1 如果有, 则提示: 登陆失败, 你还有*次机会.
                if (i != 2) {
                    System.out.println("登陆失败, 你还有" + (2 - i) + "次机会.");
                } else {
                    //5.2.2 如果没有, 提示: 账号锁定.
                    System.out.println("账号被锁定, 请于管理员联系 110");
                }
            }
        }
    }
}
